1. Field of the Invention
The present invention relates to computer networks, and more particularly, to processing network information.
2. Background of the Invention
Computer networking is common today. Computer networking allows users to share information regardless of where they are located.
Network communication typically use standard protocols that have a layered structure. Typically, each layer performs a certain function. Transmission Control Protocol/Internet Protocol (TCP/IP) provides one such standard protocol, incorporated herein by reference in their entirety.
TCP/IP although commonly used, has some disadvantages. For example, TCP/IP does not provide a mechanism for sharing bandwidth of a network link between multiple connections. TCP attempts send data based on four factors: (a) Maximum rate of a network link; (b) amount of data that needs to be sent; (c) a receiving network node's advertised window (i.e. the amount of data a receiving node can accept) and (d) a network congestion window. The congestion window is based on overall network congestion.
TCP does not have any knowledge of different levels of priority between different TCP connections. A connection with lower priority may consume more bandwidth of a shared link than a higher priority. This can cause problems. For example, at a given time there may be a TCP connection for a file transfer operation and a “video streaming” operation. The file transfer operation for data back up may have lower priority than the request for video streaming. The video streaming operation may have stringent real-time latency requirements compared to the file transfer operation. However, the file transfer connection may consume more bandwidth than the video streaming connection, which may cause undesirable latency in the video streaming operation.
Typically, TCP lowers the size of its congestion window to react to packet drops, which are assumed to occur due to network congestion. Policies in network switches and routers (for example, random early discard of packets (RED)) cause TCP nodes to decrease transmission rates after a packet drops and then increase the rate until the next packet drop. This is not very efficient because a lost packet incurs latency and hence negatively impacts overall data throughput.
Therefore, there is a need for a system and method for optimally processing network connections.